package com.tbit.uqbike.client.service;

import com.tbit.uqbike.client.pojo.Account;
import com.tbit.uqbike.client.pojo.dto.AccountCustomerServiceConfigDTO;

import java.util.List;

/**
 * 账户service
 *
 * @author Leon
 * 2017年2月24日 下午4:09:17
 */
public interface AccountService {
    /**
     * 添加
     *
     * @param account
     */
    void insert(Account account);

    /**
     * 根据类型和用户名查询
     *
     * @param params
     * @return
     */
    Account getByTypeAndName(Integer type, String name);

    /**
     * 根据用户id查询
     *
     * @param accountId
     * @return
     */
    Account getByAccountId(Integer accountId);

    /**
     * 更新
     *
     * @param account
     */
    void update(Account account);


    /**
     * 判断设备是否在品牌下
     *
     * @param brandAccountId
     * @param accountId
     */
    void authAccount(Integer brandAccountId, Integer accountId);

    /**
     * 根据父id查询
     *
     * @param parentId
     * @return
     */
    List<Account> getByParentId(Integer parentId);

    /**
     * 获取区域代理品牌id
     */
    Account getByAdAccountId(Integer accountId);

    /**
     * 获取区域名称
     *
     * @param list
     * @return
     */
    List<String> getByAccountIds(List<Integer> list);

    /**
     * @description: 获取当前时间段改平台、区域要展示的客服联系方式
     * @author: mo.shanyong
     * @date: 2024/11/26 19:52
     * @param: accountId 账户(区域、品牌)id
     * @return: com.tbit.uqbike.client.pojo.AccountServiceConfig
     */
    AccountCustomerServiceConfigDTO getServiceTel(Integer accountId);


    /**
     * @description: 获取在线客服信息
     * @author: mo.shanyong
     * @date: 2024/11/27 10:04
     * @param: accountId 账号id
     * @return: com.tbit.uqbike.client.pojo.dto.AccountCustomerServiceConfigDTO
     */
    AccountCustomerServiceConfigDTO getOnlineService(Integer accountId);


}  